package com.heitian.ssm.service.impl;

import com.heitian.ssm.dao.ClassifyDao;
import com.heitian.ssm.model.Classify;
import com.heitian.ssm.model.PageBean;
import com.heitian.ssm.service.ClassifyService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

/**
 * 作者： 陈建峰
 * 创建时间： 18/3/27 下午10:26
 * 版本： [1.0, 18/3/27]
 * 描述： 相册处理
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class ClassifyServiceImpl implements ClassifyService {

    @Resource
    private ClassifyDao classifyDao;

    /**
     * 保存相册
     * @param classify
     */
    public void saveClassify(Classify classify) {
        classifyDao.saveClassify(classify.getClassifyName(),classify.getClassifyGuid(),classify.getClassifyHeadurl(),classify.getClassifyNote(),classify.getCreatTime());
    }

    /**
     * 删除相册
     * @param classifyGuid
     */
    public void deleteClassify(String classifyGuid) {
        classifyDao.deleteClassify(classifyGuid);
    }


    /**
     * 获取某用户的相册列表
     * @param index
     * @param currentPageCount
     * @return
     */
    public PageBean<Classify> getAllclassify(int index, int currentPageCount) {
        //封装一个PageBean 返回web层
        PageBean<Classify> pageBean = new PageBean<Classify>();
        //1、封装当前页
        pageBean.setCurrentPage(index);
        //2、封装每页显示的条数
        pageBean.setCurrentCount(currentPageCount);
        //3、封装总条数
        int totalCount = classifyDao.getAllClassifyCount();
        pageBean.setTotalCount(totalCount);
        //4、封装总页数
        int totalPage = (int) Math.ceil(1.0*totalCount/currentPageCount);
        pageBean.setTotalPage(totalPage);
        //5、当前页显示的数据
        // select * from product where cid=? limit ?,?
        // 当前页与起始索引index的关系
        int indexes = (index-1)*currentPageCount;
        List<Classify> list = classifyDao.getAllclassify(indexes,currentPageCount);
        pageBean.setList(list);
        return pageBean;
    }

    /**
     * 获取所有相册数量
     * @return
     */
    public int getAllClassifyCount() {
        return classifyDao.getAllClassifyCount();
    }

}
